<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <script text="javascript">
        function recargar() {
            //se activa el método alert luego de 2 segundos
            //setTimeout("alert('Pasaron 2 segundos!')",2000); 10000
            setTimeout('document.location.reload()', 1000);
        }
    </script>

    <ui:composition template="/template.xhtml">
        <ui:define name="body" >
            <p:growl id="growl" showDetail="true"/>
            <p:panel header=" Lista de Expedientes Registrados"  /> 
            <h:form id="frm_exped" styleClass="jsfcrud_list_form" >
                <h:panelGroup id="messagePanel" layout="block" >
                    <!--h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/-->
                </h:panelGroup>

                <h:panelGroup >
                    <p:dataTable value="#{expedienteController.listaExpAll}" var="item" id="dataTable" resizableColumns="true"  widgetVar="expTable"
                                 paginator="true" rows="15"   filteredValue="#{expedienteController.filteredExped}"   scrollable="true" 
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                 rowsPerPageTemplate="5,10,15" rowKey="#{item.codExp}" selection="#{expedienteController.expedient}" selectionMode="single"
                                 >

                        <p:column width="30" style="text-align: center;font-size: 11px" filterBy="#{item.codExp}" headerText="Exped" 
                                  filterMatchMode="startsWith"> 
                            <f:facet name="header"><h:outputText value="Nº Regist"/></f:facet>
                            <h:outputText value="#{item.codExp}"/>
                        </p:column>
                        <p:column width="40" style="text-align: center; font-size: 11px" id="yearColumn" filterBy="#{item.fechaReg}" headerText="Fecha" filterMatchMode="contains"  sortBy="#{item.fechaReg}">
                            <f:facet name="header"><h:outputText value="#{bundle.ListExpedienteTitle_fechaReg}"/></f:facet>
                            <h:outputText value="#{item.fechaReg}" >
                                <!--f:convertDateTime pattern="EEEEE dd MMMMM yyyy"   / Dia de la Semana  -->
                                <!--f:convertDateTime pattern="yyyy/MM/dd" type="date" /-->
                                <!--f:convertDateTime pattern="dd.MM.yyyy" /-->
                                <f:convertDateTime pattern="dd/MM/yyyy" type="date" dateStyle="both"/>
                                <!--f:convertDateTime type="both" dateStyle="both" pattern="yyyy/MM/dd" /--> // pattern="yyyy/MM/dd HH:mm:ss"
                                <!--f:convertDateTime locale="en_US" type="both" dateStyle="short" timeZone="EDT" /-->
                            </h:outputText>
                        </p:column>  
                        <p:column width="60" style="text-align: left; font-size: 11px">
                            <f:facet name="header"><h:outputText value="#{bundle.ListExpedienteTitle_tipoTramite}"/></f:facet>
                            <h:outputText value="#{item.tipoTramite.nombre}"/>
                        </p:column>
                        <p:column  width="60" style="text-align: left; font-size: 11px">
                            <f:facet name="header"><h:outputText value="Interesado"/></f:facet>
                            <h:outputText value="#{item.interesArea.interesado.nombres}"/>
                        </p:column>
                        <p:column  width="60" style="text-align: left; font-size: 11px">
                            <f:facet name="header"><h:outputText value="#{bundle.ListExpedienteTitle_interesArea}"/></f:facet>
                            <h:outputText value="#{item.interesArea.nombre}"/>
                        </p:column>
                        <p:column  width="40" style="text-align: center;font-size: 11px">
                            <f:facet name="header"><h:outputText value="#{bundle.ListExpedienteTitle_remitente}"/></f:facet>
                            <h:outputText value="#{item.remitente}"/>
                        </p:column>
                        <p:column width="140" style="text-align: left; font-size: 11px" filterBy="#{item.asunto}" headerText="Asunto" filterMatchMode="contains">
                            <f:facet name="header" ><h:outputText  value="#{bundle.ListExpedienteTitle_asunto}"  /></f:facet>
                            <h:outputText value="#{item.asunto}" style="text-align: left"/> 
                        </p:column>
                        <p:column width="40" style="text-align: left; font-size: 11px">
                            <f:facet name="header" ><h:outputText value="Nº Doc"/></f:facet>
                            <h:outputText value="#{item.numexpeIngr}"/>
                        </p:column> 
                        <p:column width="20" style="text-align: center; font-size: 11px">
                            <f:facet name="header"><h:outputText value="#{bundle.ListExpedienteTitle_folios}"/></f:facet>
                            <h:outputText value="#{item.folios}"/>
                        </p:column> 
                        <p:column  width="30" style="text-align: center;font-size: 11px">
                            <f:facet name="header"><h:outputText value="#{bundle.ListExpedienteTitle_proveido}"/></f:facet>
                            <h:outputText value="#{item.proveido}"/>
                        </p:column>                            
                        <p:column  width="105"> 
                            <f:facet name="header"><h:outputText value="Opciones&nbsp;"/></f:facet>
                            <p:commandButton value="Ver"  oncomplete="expSelecDialog.show()" update=":frmDetalle"   />

                            <!--p:commandButton update=":frm_exped" value="Editar" actionListener="#{expedienteController.getExpediente(item)}" 
                                             oncomplete="dlgEditar.show();" icon="ui-icon-pencil" title="Editar"> 
 
                            </p:commandButton-->
                            <p:commandButton update=":confirmEditar" value="Editar" actionListener="#{expedienteController.getExpediente(item)}" 
                                             oncomplete="dlgEditar.show();" title="Editar"> 
                                <f:setPropertyActionListener value="#{item}" target="#{expedienteController.expedient}" />
                            </p:commandButton>
                            <!-- ConfirmDialog ok  p:commandButton value="Editar" update=":frm_exped:confirmEdit"
                                             oncomplete="MeditDialog.show();" icon="ui-icon-pencil" title="Editar"> 
                                <f:setPropertyActionListener value="#{item}" target="#{expedienteController.expedient}" />
                            </p:commandButton-->

                            <p:commandButton value="Elimina" update=":frm_exped:confirmDelete" oncomplete="deleteDialog1.show()">
                                <f:setPropertyActionListener value="#{item}" target="#{expedienteController.expedient}" />
                            </p:commandButton>

                        </p:column> 
                        <f:facet name="footer">  
                            <p:commandButton value="Nuevo Expediente" update=":frmNuevo" actionListener="#{expedienteController.prepararInsertar(actionEvent)}"
                                             oncomplete="dlgNuevo.show();"/>
                            <!--p:commandButton value="Detalle del Expediente Seleccionado"  oncomplete="expSelecDialog.show()" update=":frm_exped:display "   /-->
                        </f:facet>   
                    </p:dataTable>
                    <!--  ************************Dialog de confirmacion de eliminacion de Expediente ******************************-->
                    <p:confirmDialog id="confirmDelete" header="Confirmar Eliminación " widgetVar="deleteDialog1" severity="alert" showEffect="fade" appendToBody="false"
                                     hideEffect="fade" closeOnEscape="true"  message="¿Eliminará el Expediente Nº '#{expedienteController.expedient.codExp}' ?">
                        <p:commandButton id="accept" value="Eliminar" update=":frm_exped:confirmDelete" oncomplete="deleteDialog1.hide();"
                                         actionListener="#{expedienteController.eliminaExp()}" ajax="false"> 
                        </p:commandButton>
                        <p:commandButton id="decline" value="Cancelar" oncomplete="deleteDialog1.hide();" onclick="deleteDialog1.hide();" type="button" />
                    </p:confirmDialog>  


                    <!--  ************************Dialog de Detalle del Expediente ******************************-->
                </h:panelGroup>  
                <br />
                <p:commandButton action="#{expedienteController.prepareCreate}" value="#{bundle.ListExpedienteCreateLink}"/>
                <br /> 
                <br />
                <h:link outcome="/index" value="#{bundle.ListExpedienteIndexLink}"/>
            </h:form>
            <!--h:form id="frmEditar"-->
            <!--  ************************Dialog de confirmacion de Edicion de Expediente ****************************  appendToBody="false"   **-->            
            <p:dialog  id="confirmEditar" header="Editar Expedientey"  appendToBody="false" closeOnEscape="true" widgetVar="dlgEditar" resizable="false" showEffect="fade" hideEffect="explode" >
                <!--p:growl id="growlEditar" showDetail="true" sticky="true" /-->  
                <h:form>
                    <h:panelGrid id="pgEditar"  columns="2" cellpadding="4" style="margin: 0 auto;">

                        <h:outputText value="Nº Expediente: " />
                        <h:outputText value="Nº Documento Recibido: " />                    
                        <p:outputLabel value="#{expedienteController.expedient.codExp}" style="width: 200px; font-size: 13px; color: red;"  />
                        <p:inputText value="#{expedienteController.expedient.numexpeIngr}"  />

                        <h:outputText value="Remite: " />
                        <h:outputText value="Asunto : " />
                        <p:inputTextarea value="#{expedienteController.expedient.remitente}" rows="6" cols="37" style="width: 200px;" />
                        <p:inputTextarea value="#{expedienteController.expedient.asunto}" rows="6" cols="37" style="width: 200px;" />

                        <h:outputText value="Folios: " />
                        <h:outputText value="Detalle Exp.: " />
                        <p:inputText value="#{expedienteController.expedient.folios}"  />
                        <p:inputText value="#{expedienteController.expedient.detalleExpe}" style="width: 200px;" />

                        <h:outputText value="Observación: " />
                        <h:outputText value="Proveido: " />
                        <p:inputText value="#{expedienteController.expedient.observac}" style="width: 200px;" />
                        <p:inputText value="#{expedienteController.expedient.proveido}" style="width: 200px;" />


                        <h:outputLabel value="#{bundle.EditExpedienteLabel_tipoTramite}" for="tipoTramite" />
                        <h:outputLabel value="#{bundle.EditExpedienteLabel_tipoDocTra}" for="tipoDocTra" />                        
                        <h:selectOneMenu id="tipoTramite" value="#{expedienteController.selected.tipoTramite}" title="#{bundle.EditExpedienteTitle_tipoTramite}" required="true" requiredMessage="#{bundle.EditExpedienteRequiredMessage_tipoTramite}">
                            <f:selectItems value="#{tipoTramiteController.itemsAvailableSelectOne}"/>
                        </h:selectOneMenu>

                        <h:selectOneMenu id="tipoDocTra" value="#{expedienteController.selected.tipoDocTra}" title="#{bundle.EditExpedienteTitle_tipoDocTra}" required="true" requiredMessage="#{bundle.EditExpedienteRequiredMessage_tipoDocTra}">
                            <f:selectItems value="#{tipoDocTraController.itemsAvailableSelectOne}"/>
                        </h:selectOneMenu>

                    </h:panelGrid>     
                    <p:separator /> 
                    <p:commandButton id="accept" type="submit" value="Grabar" update=":frm_exped" oncomplete="dlgEditar.hide();"
                                     action="#{expedienteController.editaExpedi()}" >
                    </p:commandButton>

                </h:form>  
            </p:dialog>
            <!--/h:form-->    
            <!-- Form Detalle del Expediente -->  
            <h:form id="frmDetalle"  >  
                <p:dialog header=" Detalle del Expediente Seleccionado" closeOnEscape="true" widgetVar="expSelecDialog" resizable="false" width="680"  
                          showEffect="fade" hideEffect="explode" >
                    <h:panelGrid id="display" columns="2" cellpadding="4"  style="font-size: 11px;">
                        <h:outputText value="Expediente" style="font-size: 13px; color: red;" />
                        <p:outputLabel value="#{expedienteController.expedient.codExp}" style="font-size: 13px; color: red;" />
                        <h:outputText value="TipoTramite" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.tipoTramite.nombre}" style="color: blue;width: 270px;" readonly="true"/>
                        <h:outputText value="Interesado" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.interesArea.interesado.nombres}" style="color: blue; width: 270px;" readonly="true" />
                        <h:outputText value="AreaInteresad" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.interesArea.nombre}" style="color: blue; width: 570px;"  readonly="true"/>
                        <h:outputText value="Remitente:" style="font-size: 11px;" /> 
                        <p:inputTextarea value="#{expedienteController.expedient.remitente}" rows="2" style="color: blue;width: 570px;" cols="65" readonly="true" />                                
                        <h:outputText value="Asunto" style="font-size: 11px;" />
                        <p:inputTextarea value="#{expedienteController.expedient.asunto}" rows="5" style="color: blue; width: 570px;" cols="65" readonly="true"/>
                        <h:outputText value="Nº Documen" style="font-size: 11px;" />  
                        <p:inputText value="#{expedienteController.expedient.numexpeIngr}" style="color: blue; width: 200px;" readonly="true"/>                                
                        <h:outputText value="Nº Folios" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.folios}" style="color: blue; width: 200px;" readonly="true"/>
                        <h:outputText value="Proveido" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.proveido}" style="color: blue; width: 200px;" readonly="true"/>                                
                        <h:outputText value="Detalle Exp." style="font-size: 11px;" />
                        <p:inputTextarea value="#{expedienteController.expedient.detalleExpe}" rows="2" style="color: blue; width: 530px;" readonly="true"/>
                        <h:outputText value="Responsable:" style="font-size: 11px;" /> 
                        <p:inputText value="#{expedienteController.expedient.trabajador.nombres}, #{expedienteController.expedient.trabajador.apePat}" style="color: blue; width: 220px;" readonly="true" />
                        <h:outputText value="TipDocum:" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.tipoDocTra.nombre}" style="color: blue; width: 220px;" readonly="true"/>
                        <h:outputText value="Prioridad:" style="font-size: 11px;" />
                        <p:inputText value="#{expedienteController.expedient.tipoPriorida.nombre}" style="color: blue; " readonly="true"/>
                        <h:outputText value="Inmueble:" style="font-size: 11px;" />
                        <p:inputTextarea value="#{expedienteController.expedient.inmuebles.direccion}" rows="2" style="color: blue; width: 600px;" cols="65" readonly="true"/>
                        <h:outputText value="Observación:" style="font-size: 11px;" />
                        <p:inputTextarea value="#{expedienteController.expedient.observac}" rows="2" style="color: blue; width: 600px;" cols="65" readonly="true"/>
                    </h:panelGrid>
                </p:dialog>
            </h:form> 
            <!-- Formulario Editar Expediente-->
            <!--h:form id="frmEditar"-->

            <!--/h:form--> 

            <!-- Formulario Nuevo -->
            <h:form id="frmNuevo">
                <p:dialog header="Nuevo Expediente"  closeOnEscape="true" widgetVar="dlgNuevo" resizable="false" showEffect="fade" hideEffect="explode" >
                    <p:growl id="growl" showDetail="true" sticky="true" />  
                    <h:panelGrid id="pgNuevo"  columns="2" cellpadding="4" style="margin: 0 auto;">

                        <h:outputText value="Nº Expediente: " />
                        <h:outputText value="Nº Documento Recibido: " />                    
                        <p:inputText value="#{expedienteController.expedient.codExp}" style="width: 200px; font-size: 13px; color: red;"  />
                        <p:inputText value="#{expedienteController.expedient.numexpeIngr}"  />

                        <h:outputText value="Remite: " />
                        <h:outputText value="Asunto : " />
                        <p:inputTextarea value="#{expedienteController.expedient.remitente}" rows="6" cols="37" style="width: 200px;" />
                        <p:inputTextarea value="#{expedienteController.expedient.asunto}" rows="6" cols="37" style="width: 200px;" />

                        <h:outputText value="Folios: " />
                        <h:outputText value="Detalle Exp.: " />
                        <p:inputText value="#{expedienteController.expedient.folios}"  />
                        <p:inputText value="#{expedienteController.expedient.detalleExpe}" style="width: 200px;" />

                        <h:outputText value="Observación: " />
                        <h:outputText value="Proveido: " />
                        <p:inputText value="#{expedienteController.expedient.observac}" style="width: 200px;" />
                        <p:inputText value="#{expedienteController.expedient.proveido}" style="width: 200px;" />

                    </h:panelGrid>
                    <p:separator />
                    <p:commandButton value="Guardar" update=":frm_exped,growl" action="#{expedienteController.create()}" oncomplete="dlgNuevo.hide()" icon="ui-icon-pencil" title="Editar" />  
                    <h:commandButton id="btnMostrar4"  title="Agrega" value="Ins" action="#{expedienteController.create()}">
                        <f:setPropertyActionListener value="#{expedient}" target="#{expedienteController.expedient}" />
                    </h:commandButton>
                    <p:commandButton value="cancelar" update=":frm_exped"  oncomplete="dlgNuevo.hide()" icon="ui-icon-trash" title="Eliminar" />  


                </p:dialog>
            </h:form>


        </ui:define>
    </ui:composition>

</html> 
